package com.atchangsha.system.entity;

import com.atchangsha.system.vo.CustomerVO;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author 卓越班项目第二组
 * @date 2022-04-22 00:49:58
 */
@Data
@TableName("customer")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CustomerEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 姓名
     */
    private String name;
    /**
     * 性别
     */
    private String sex;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 积分id
     */
    private Long pointId;
    /**
     * 外卖收货地址
     */
    private String address;
    /**
     * 余额
     */
    private double balance;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date updateTime;
    /**
     * 创建人
     */
    private Long createBy;
    /**
     * 修改人
     */
    private Long updateBy;
    /**
     * 逻辑删除标志：0：未删除，1：已删除
     */
    @TableLogic
    private String removeFlag;


    /**
     * 将entity对象转换成VO对象
     *
     * @return VO对象
     */
    public CustomerVO toVO() {
        return CustomerVO.builder()
                .id(id)
                .name(name)
                .sex(sex)
                .phone(phone)
                .pointId(pointId)
                .address(address)
                .balance(balance)
                .build();
    }

}
